package com.cj.service;

import com.cj.po.PageInfo;
import com.cj.po.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户Service层接口
 * 提供对学生信息的增、删、改、查等操作
 */
public interface StudentService {

	/**
	 * 分页查询学生信息
	 * @param s_name 学生姓名
	 * @param s_studentid 学生ID
	 * @param s_classid 班级ID
	 * @param s_classname 班级名称
	 * @param pageIndex 当前页码
	 * @param pageSize 每页显示的记录数
	 * @return 返回包含学生信息的分页对象
	 */
	public PageInfo<Student> findPageInfo(String s_name, Integer s_studentid, Integer s_classid,
										  String s_classname, Integer pageIndex, Integer pageSize);

	/**
	 * 通过学生ID删除学生信息
	 * @param s_id 学生ID
	 * @return 返回删除操作影响的行数
	 */
	public int deleteStudent(Integer s_id);   //通过id删除学生信息

	/**
	 * 添加学生信息
	 * @param student 学生对象
	 * @return 返回添加操作影响的行数
	 */
	public int addStudent(Student student);   //添加学生信息

	/**
	 * 修改学生信息
	 * @param student 学生对象
	 * @return 返回修改操作影响的行数
	 */
	public int updateStudent(Student student); //修改学生信息

	/**
	 * 根据学生ID查询学生信息
	 * @param s_id 学生ID
	 * @return 返回对应的学生对象
	 */
	public Student findStudentById(Integer s_id);

	/**
	 * 获取所有学生信息
	 * @return 返回所有学生的列表
	 */
	public List<Student> getAll();
}
